POV-Ray : Newsgroups : povray.beta-test : AND OR operators and MIN and MAX : AND OR operators and MIN and MAX Server Time
30 Jul 2024 00:25:11 EDT (-0400)
  AND OR operators and MIN and MAX  
From: JRG
Date: 1 Feb 2002 19:48:36
Message: <3c5b3764$1@news.povray.org>
I've just noticed that the behaviour of the two operators | and & has changed again
(at least in functions). With MegaPov I could make unions between isosurfaces with
the operator |. With the last beta, I managed to accomplish the same result with &.
In beta 10 neither work. I have to use min (f1,f2). Am I the only fool who is
surprised by this?

Ok, just in case this is a known bug/feature, I have a bonus question: why do I need
to translate the iso by a little amount in order to avoid a "floating-point
exception" fatal error? Why if I translate it along the x instead of z (or y) the
trick doesn't work? Shouldn't the iso remain the same since I'm not translating it at
a 'function level'?

POV-Ray beta 10 Windows ME Athlon.

#include "functions.inc"

#declare USE_AMPERSAND = off;
#declare USE_TRANSLATE = on;

#declare f_triv = function {f_helix2
(x,y,z,0,6.8,-sin(y*pi/5.5)*0.3*(y/2-abs(y)/2)/y,0.25,0,1,0)}
#declare cilindro = function {x^2+z^2-(0.25+min(0,y/5)*0.2)^2}

#if (USE_AMPERSAND)
#declare trivella=
isosurface {
    function {cilindro(x,y,z)&f_triv(x,y,z)}
    accuracy 10^-2
    max_gradient 1.943
    contained_by {box{<-0.7,1,-0.7>,<0.7,-5,0.7>}}
    pigment {rgb 1}
   #if (USE_TRANSLATE) translate 0.0001*z #end
}

#else

#declare trivella=
isosurface {
    function {min (cilindro(x,y,z),f_triv(x,y,z))}
    accuracy 10^-2
    max_gradient 1.943
    contained_by {box{<-0.7,1,-0.7>,<0.7,-5,0.7>}}
    pigment {rgb 1}
   #if (USE_TRANSLATE) translate 0.0001*z #end
}

#end

object {trivella}

camera {
    location <0,2,-10>
    look_at 0
}

light_source {
    <50,50,-50>
    rgb 1}


--
#local j=text{ttf"arial""JRG".2,0}#local J=0;#while(J<10)#local R=0;#while
(R<2)#local G=0;#while(G<1)#if(inside(j<R,G.1>))object{j scale.025translate
<R-1G-J/20J/-40+2>pigment{rgb<9J>}}#debug"O"#else#debug" "#end#local G=G+
.025;#end#local R=R+.05;#debug"\n"#end#local J=J+1;#end// JRG

Home: http://digilander.iol.it/jrgpov  //New: Kitchen scene WIP


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.